Detecting Seasonality in individual indicators
load(paste0(IO$output_clue,"indiv_indicators.Rdata"), verbose = TRUE)
## Loading objects:
## indiv_indicators
colnames(indiv_indicators)
## [1] "cycle_id" "user_id"
## [3] "date" "country"
## [5] "age_cat" "bmi_cat"
## [7] "active_use" "day_id"
## [9] "bleeding" "cycle_nb"
## [11] "cycle_length" "cycleday"
## [13] "cycleday_from_end" "ovu_day"
## [15] "daily_fertility" "time_num"
## [17] "mucus" "mucus_num"
## [19] "sd_cycle_length" "n_eggwhite"
## [21] "mucus_quality" "n_bleeding_after_day_5"
## [23] "n_heavy_bleeding" "cycle_fertility"
## [25] "age" "bmi"
## [27] "overall_fertility" "fertility"
for(user in unique(indiv_indicators$user_id)[1:20]){
this_user_indiv_indicators = indiv_indicators[indiv_indicators$user_id == user,]
this_user_indiv_indicators = this_user_indiv_indicators[order(this_user_indiv_indicators$time_num),]
if(!all(this_user_indiv_indicators$fertility == 0)){
timeserie_matrix = as.matrix(this_user_indiv_indicators[,c("time_num","daily_fertility")])
current.wt = wt(timeserie_matrix,
dt = par$dt, dj = 15*par$dt,
lag1 = 0.7, # pink noise
sig.test = 1) # we want to run a significance test
plot(current.wt, main = paste0(user," - daily_fertility"))
timeserie_matrix = as.matrix(this_user_indiv_indicators[,c("time_num","fertility")])
current.wt = wt(timeserie_matrix,
dt = par$dt, dj = 15*par$dt,
lag1 = 0.7, # pink noise
sig.test = 1) # we want to run a significance test
plot(current.wt, main = paste0(user," - fertility"))
}
}




































Detecting Seasonality in population indicators
load(paste0(IO$output_clue,"pop_indicators.Rdata"), verbose = TRUE)
## Loading objects:
## pop_indicators
agg_col_combinations = unique(pop_indicators[,par$agg_col])
for(i in 1:ncol(agg_col_combinations)){
agg_col_combinations[,i] = as.character(agg_col_combinations[,i])
}
for(i in 1:nrow(agg_col_combinations)){
cond = rep(nrow(pop_indicators), TRUE)
for(agg_col in par$agg_col){
eval(parse(text = paste0("cond = cond & (pop_indicators$",agg_col," == agg_col_combinations$",agg_col,"[i])")))
}
i_cond = which(cond)
if(length(i_cond)>0){
this_pop_indicators = pop_indicators[i_cond,]
# daily fertility
timeserie_matrix = as.matrix(this_pop_indicators[,c("time_num","daily_fertility")])
timeserie_matrix = timeserie_matrix[!is.na(timeserie_matrix[,2]),]
LAG1 = arima(timeserie_matrix[,c('daily_fertility')], order = c(1,0,0))$coef[1]
current.wt = wt(timeserie_matrix,
dt = par$dt, dj = 15*par$dt,
lag1 = LAG1, # autocorrelation
sig.test = 1) # we want to run a significance test
plot(current.wt, main = paste0("daily fertility", paste0(agg_col_combinations[i,], collapse = " | ")))
# female fertility
timeserie_matrix = as.matrix(this_pop_indicators[,c("time_num","fertility")])
timeserie_matrix = timeserie_matrix[!is.na(timeserie_matrix[,2]),]
LAG1 = arima(timeserie_matrix[,c('fertility')], order = c(1,0,0))$coef[1]
current.wt = wt(timeserie_matrix,
dt = par$dt, dj = 15*par$dt,
lag1 = 0.7, # pink noise
sig.test = 1) # we want to run a significance test
plot(current.wt, main = paste0("fertility", paste0(agg_col_combinations[i,], collapse = " | ")))
}
}







































